package com.dhecp.project.system.mapper;

import java.util.List;
import java.util.Map;

import com.dhecp.core.genericDao.GenericDao;
import com.dhecp.project.system.domain.SysDictionaryForModule;

import org.apache.ibatis.annotations.Param;

/**
 * 功能dao层
 * @author DH-Xxj
 * @version 2019年9月24日
 */
public interface SysDictionaryForModuleMapper extends GenericDao<SysDictionaryForModule, String> {
	
	/**
	 * 通过guid查询单条记录
	 * @param guid
	 * @return 实体 SysDictionaryForModule
	 */
	SysDictionaryForModule findDictionaryForModuleByGuid(@Param("guid") String guid);
	
	/**
	 * 查询所有记录
	 * @param parems
	 * @return List-SysDictionaryForModule
	 */
	List<SysDictionaryForModule> findDictionaryForModule(Map<String, Object> params);
	
	/**
	 * 按查询条件获取功能数据字典列表
	 * @param params
	 * @return List-SysDictionaryForModule
	 */
	List<SysDictionaryForModule> findDictionaryForModuleList(Map<String, Object> params);
	
	/**
	 * 需要身份验证的功能列表
	 * @param params
	 * @return List-SysDictionaryForModule
	 */
	List<SysDictionaryForModule> findAuthenticationModuleList(Map<String, Object> params);

	/**
	 * 按功能唯一标识查询
	 * @param moduleTable 功能唯一标识
	 * @return 实体 SysDictionaryForModule
	 * @author DH-Xxj
	 */
	SysDictionaryForModule findDictionaryForModuleByModuleTable(@Param("moduleTable") String moduleTable);
	
	/**
     * 按功能名称查询
     * @param moduleName 功能字段名称
     * @return 实体 SysDictionaryForModule
     */
	SysDictionaryForModule findDictionaryForModuleByModuleName(@Param("moduleName") String moduleName);
	
	/**
	 * 新增功能数据字典
	 * @param dictionaryForModule
	 * @return
	 */
	int insertDictionaryForModule(SysDictionaryForModule dictionaryForModule);
	
	/**
	 * 通过guid删除功能数据字典
	 * @param dictionaryForModule
	 * @return
	 */
	int deleteByGuid(SysDictionaryForModule dictionaryForModule);
	
	/**
	 * 通过guid修改功能数据字典
	 * @param dictionaryForModule
	 * @return
	 */
	int updateByGuid(SysDictionaryForModule dictionaryForModule);
	
}
